.\"   $Id: gcNodeBdd.3,v 1.1 2002/04/03 13:13:26 ludo Exp $
.\" @(#)gcNodeBdd.2 7.01 92/08/22 ; Labo masi cao-vlsi; Author : Luc Burgun
.TH GCNODEBDD 3 "October 1, 1997" "ASIM/LIP6" "BDD functions"
.so man1/alc_origin.1
.SH NAME
\fBgcNodeBdd\fP \- does a garbage collection 
.SH SYNOPSIS
.nf
#include "logmmm.h"
void gcNodeBdd(pt)
chain_list *pt;
.fi
.SH PARAMETER
.TP 20
\fIpt\fP
chained list of BDD to rescue
.SH DESCRIPTION
\fBgcNodeBdd()\fP removes all the nodes that aren't used in the BDD pointed in the chained list \fIpt\fP. 
.SH EXAMPLE
.nf
#include "mutnnn.h"		/* mbk utilities */
#include "logmmm.h"
pNode nodeA,nodeB,nodeC;
pNode res1,res2;
chain_list *ptCL;

initializeBdd(SMALL_BDD);
nodeA = createNodeTermBdd(3);
nodeB = createNodeTermBdd(3);
nodeC = createNodeTermBdd(4);

res1 = applyBinBdd(OR,applyBinBdd(OR,nodeA,nodeB),nodeC);
res2 = applyBinBdd(AND,applyBinBdd(AND,nodeA,nodeB),nodeC);
printf("number of nodes in memory = %d",numberAllNodeBdd());

/* it will display
7
*/
ptCL = addchain(NULL,res1);
gcNodeBdd(ptCL);		/* only res1 nodes are saved */ 

freechain(ptCL);
printf("number of nodes in memory = %d",numberAllNodeBdd());

/* it will display
number of nodes in memory = 5
*/
destroyBdd(1);
.fi
.SH SEE ALSO
.BR log (1),
.BR bdd (1),
.BR markBdd (3),
.BR supportChain_listBdd (3),
.BR markAllBdd (3),
.BR numberNodeBdd (3),

.so man1/alc_bug_report.1

